begin ch.4 and before anything figure out how to make shader dynamic