replace by typedef