client-side refactoring