More documentation and warnings and an OO example