add custom vault implementation