More flexible init funs and more tests.