move boost::has declaration outside
add Node::getHash functions
add Domain class