some documentation in the code