Major refactor of project layout, added db provider in case needs change in future versionss