refactor dir hierarchy cause of weird hierarchy