refactor spare