J is wrong, rest seems ok