Controllers and Tests

Method implementations and tests.
Tests refactored