api fixes, not fully fixed