first bound implementation