Added ViewHolder pattern to get a better fluidify in the view