Merged and fixed and refactored a lot.