Feature/choice implementation