lots of api changes