paramterize haven, fix haven==branch error