Moves optional properties to options object and updated documentation