refactor remove extra structure