WIP
state-iswim partially correct
Provisional state-iswim done