proto
added something extra
added a more detailed list of items
put the controller inside the closure to avoid leaks