Add proper argument parser