Initial commit, moved classes out of GL