Broke up an interesting package cycle (caused by violation of abstraction layers)