added more options and docstrings