Documentation

descriptive comments of all functionality