detail algo for room gen