WIP: remove comments
use finite state machines
well fsms makes things easy!