add delegate to resolve USB read problem