refactoring + adding usage help