full calculator implemented