don't export the hashes
adding generics
better documentation export