refactor expose