Add service, models, and initial unit tests