added comments
Added more tests