refactoring into low level driver