Frontend refactor complete

Resolves issue #43