added basic CLI argument parsing and snapshot function