added id field for added difficulty
added toString methods for pretty printing