more documentation in the header