added TowerFactory