all done without main function