correction works. need more tests