update, bug fixed, add indent, add patterns