camera zoom switch backend
refactored UI elements to separate files