improved calculator