added: framework.hash()