added type parameter parsing and attributes to object declarations