saving current state
ok namespaces = bad :))
seems to need to go thru hoops to avoid cyclic deps