This improves the implementation by introducing a class to manage the characters
No changes between version 3 and version 3