added IHasImages and IHasUserData