refac
reformat
added todos
added cache property
fixing path search