adding basic framework for all drivers