improve mapper