Added more shader functions and fixed rules

resolved all rule conflicts