synching new features in master with refactor branch