WIP added tests where they go...
WIP tests/implementation complete