play-through logic is mostly working now