implemented difficulty rules