Major refactoring to make everything work
New build