implemented, tested and documented