get rid of assert, rather switch to Failure state and report a Packet.ALERT
first steps in server
monads
well, that's how it should be
use a fold
style