main function with long arguments