finished client-side of refactor