some new implementations of + * operations