implement position mapping