Camera follow, refactoring, cleanup