resolve circular dependencies, 1 of 2
consolidated

work on #58