image part updates

DRYs up image
adds tha entry hooks
cleans up code