changed to be module instead of class. added docstrings