fixed * and *= overloading