feat(api): adjust to use internal classes