update main function with new interface