more complex tests that don't yet pass