references changed, refactored tree, refactored tests