better factory
update readme with options and events