unnecessary comments and print statements removed