layer control function