only changes in main function for testing purpose