re-arrange binding order