halfway branch

please merge in