Refactor

Refactored the specs and added in missing alerts in layout
For the future - in a refactor, new dependencies and/or functionality wouldn't be included. No need to roll it back now, but adding foundation would be for a separate pull request.