add remove node operation and few support functions