initial improvements

Some functions have been left untouched until the issue re: no 32bit sends is resolved.