finished insert and constructor