adding testing and improvements, like comment removal