Frontend

Tried to make the commit names as descriptive as possible. These aren't perfectly clean, but should be good enough for government work.