Moved back the interfaces(API) to impl.