Did a ton of refactoring. But with some cool construct family stuff