documentation and implementation handled