Update [' and ]' behavior and further simplification