modified for GPE