Lot of refactoring. Files as own independed entity.
File upload, new views