implemented basic context and project cache