hash and layout