move string to resource, remove redundant field
fix fragment bug