use a more readable way of generating random strings
refactor thumbs into directives, add project completed tag