fully implemented baseline, missing several doc strings, includes full unit testing
notes