making tests pass and finalizing structure
Tests and null workings