Build design pattern modified