Use callback over throwing an error