finished all the backend functions, need to improve front end side