implementing __mul__