init improvement