add ignore list
add classes for abstract factory pattern