merges with johnnys branch (by hand)