Generative design: blurring the lines between architect, engineer and computer