fix sig
get args right way round
start to use indirection for messaging