refactoring and status method for client