fixed #2, factory execute on re-define.