change slightly
support for type declaration