Abstract design pattern n2