add some tests to drive me better