add a more complicated testcase and fix things so it works