add snoc