Add initial code and test spec