refactor: join public API accessors