better parsers for hash keys

work on values