small refactor and added .off