Better UI and sizing, more robust error handling