This is really hard to solve. But we could get inspiration from: https://github.com/blockpy-edu/BlockMirror