this is at a working point and i plan on merging this back into master