add life cycle for system