so many changes, almost fully functional with dummy data