support custom base layer