Add proper argument parsing