cleanup shader structure
sub shaders proper declarations
sub shader improvements
uniform sub shader