normal() uses an additional reverse lookup map