crucial function