Multiple updates to api.  Should be functional but not fully tested.