A lot of fixes & improvements.