fixed return values; added operators