added use cases and improved argument parsing