added ast cache support