added support for struct and vector padding