final version of basic implementation
final version of the basic
recursive
basic cache works