update docs
Update docs and readme
Make third init argument optional in some cases