Client side calcuration