made insertion arguments variable length