the basic backend is now working, I am now gonna clean it up