explicit cast operator