refactoring view : forcing factory use