done with backend; styling frontend remains to be done