I think it's not a good idea to use Set here, let the user to specify anything