Last argument is optional.