add lifecycle states