conforming to API more