modified for gir