big refactor of positions and moves - part 2