api cleanup, protocol simplification