throw exceptions when ars are missing
test missing args
formatting