working test, horrendously ugly but should suffice for now

conservative types refactor