frontend pretty close