much nicer way to do the multiple gpp