Declare functions in the base class, not the derived one
Add comments and docstrings