type, cleanup, more tests