add more front end implementation