added comments and a test class
 asdasd