getting clear with names, start to implement dependencies