added better mapping