Implementing basic choice behavior (not really tested)