added insert functionality