Some framework code.
add initial tests