1. add more comments
2. change the string representation of flexible_vector