refactored some implementations to impl. work on docs