moved factory method into abstract driver
added driver method to core class
added driver method to core class
updated readme