gpst with constructor