added cashing feature