added documentation and ObjectFormatter