add snippet support