backend prototype finished, frontend should be finished soon