updates and dynamic