better argument null detection