small refinements
small refactoring, made cache method non-static