hard versions