added ComponentDescriptor which will help reduce Component sizes