implemented typedef and struct/union