better erros for 2.1
simplified controller (remove duplication and use the basket object better)