added more comments
license under apache