add: fix bugs, swap x and y