fixed types and added operators