Factory and Abstract Factory checkin