template construct 2