finish frontend

@tinnytian , no change on backend, you can start testing using frontend.