Add specs and initial functionality