Version 3 - I suspect the Calculator method is still wrong.