cache prototype added