Second commit refining basic structure