changed names and structure