Updated with life cycle