implement problem, select data struct map