added middle name processing