making tests pass, it is wrong tho