finished 02_calculator with optional tests