shader loading refactored