layered design definition