investigate ways to update dynamically