improved survey functionality