add logical operators and etc