improved h(), better method override handling