improve layering