nit: please be consistent with spaces after commas (I prefer 1 space after a comma)