the first commit on each branch is special - no need to find it's parents
no more fixed lists