move and initialiser list constructor. fix insert
make iterator const
more check