refactoring manifest code, add descriptions