yeah! defined some interfaces, grouping references, general refactoring