gl demo specific stuff has been moved to another file