Made some restructuring. I don't like the current structure