To be applied and updated