+ function + hash