added documentation and comments