Many more changes, signing implemented but untested.