half-baked Model class and shader fixes