complex calculator assignment 1