1.3 is finished, but ugly code dupe