decouple layer from shape