refactor; minor modification for standard gp