implemented and documented further