design patterns reorganized and comments add to validation helper