Added argument parsing, configurabilty, and polished read only mode