refactoring
update shader