Difficult function added