made a little more generic.