calculator(some clean up)