a better way to bind