circular dependencies work, simple tests work