added different insert methods and tests