diverse applications.