support first arg as file