better(???) argument handling