added and improved documentation