updates, changing layout, refactoring