improve finding a free position. but it still relies on Morphic and the used method is buggy