implement new stuff, remove old stuff