documentation and add defaults for options