circular deps take 2