fix argument handling and usage