addtions/refactoring