some more insertions, still have to be completed