Updated frontend to more closely match wireframes (optimizations incoming)