dependencies and structure