Protocol and device module seperated. Need to handle the errors