Re-factored