reordered the class methods and updated cache to override if path and contents are passed
updated readme