Camera

Design changes
solve commit conflicts