finished cache structures

Signed-off-by: Cory Feitelson <cfeitelson@roovy.com>