This could be more verbose, but it's not too important.