added character limitation and unique name functions and tested