formatting and argument length check