Removed path_names; replaced with several smaller functions; some procedural __init__ changes