fixes #3, #1, fix error when node is null, add exclude property