improves file naming, breaks read and write related logic apart, adds better logic for extensibility
WIP
removes duplicate arg
WIP -- taking shape!!