major ChainNode refactoring