TODO: remove duplicate characters