trimmed code
clean
clean
trimmed code, added more rules