jh: improved map