added generic bind() method