update all + code refactoring