created loose directory structure and added file length and string exists functions