more gl_part refactoring