Add in testing framework and initial tests