photo album refactoring, initial commit