breaking out into services, some rudimentary tests and firebase connectivity