huge refactor and rename. moved away from dynamics for now, going to typed stuff and will add dynamic bits on top as we can always use dynamic for generic typing