interface add cache, model