finish frontend

@tinnytian , you can start testing using the frontend