[add] simpler implementation