simpler lifecycle methods
update docs