fully functional, but needs loads of refactoring, last routes widet needs to be scottified