void + refund + refactoring