schema and initial unit tests