improving communications driver and add more doccumentation