refactoring + options + validation options
formatting support
options param fixes
new docs