This also calculates tips