added comments and methods