some changes
added documentation