refactored, settable hash length, hash goes after the last dot