refactored to nogit