better than percentage calculation works