When I read your post, it comes across as very child-directed parenting. You mention he is 3 years old, almost 4. I have four kids, and my youngest is currently that age, and I find that it is not a very good age to let them decide what they like and don't like. They are so malleable...