converted to manager and components. need to work on decoupling a little more.