added implicitly_convertible