update to use dynamic