smarter layer check