add firstEach feature