added insertby and intersperse (partially finished)