refactor of exposed