refactor to support simpler imports