UI changes, and error handling. BROKEN COMMIT.