refactored set blance and added Observable