Add initial tests and code