added pure gl version and have good regular version