add lifecycle extension