graphics done, algorithm needs improvement. bug discovered: \| operator final states leaking\!