Added dynamic checking of character limit
Added some commenting
Added some more commenting