Refactoring. Remove camera to another module.
Some improvements.