it'd be nicer to use `format`