continue refactoring, change visual data structure