gmpas basic implementation