rearranged new position logic due to buggy behaviour