advanced design techniques