add element impl