divide up into two versions