At this point I've mixed model with data access, which is bad for separation of concerns, I need to fix this, and that will be done next