Adding initial code and tets