allow $2 to be empty