implementing survey classes