fix regression from last commit - shouldn't call constructor repeatedly