Refactored frontend. Fixed up gitignore.

Backend SHA:3b28264903f4b1233267813e8ce878843d0b9b7d