described the usage and api for the driver