more operators are overloaded + more tests