added difficulty and other little improvement