use interface to represent arguments with format --flag=value