Basic structure and dependencies