added generic insert functions