initial glr implementation