Divide Driver to logick part and communication part