Modular approach

`File` and `Upload` classes are now separated. You can actually use the
`File` class now for general purpose `file`.