major code cleanup, Thanks Pat