Added difficulty framework along with a lame way to choose them. and other stuff