much more API and node type cleanup