changing the binding api slightly and removing premature api design