many improvements

1) ui refactoring/redesign
2) columns for blobs
3) reading files (not finished yet)
4) validation
5) error messages
6) hooks for state changes