Sets nodes refactoring

fix #30
fix #26 
fix #15 
fix #1