added self identification functionality