refactoring and phongshading started