use a mapping function for acceleration