a little more functionality