adds arguments, help menu, and more