refactor camera positioning