Update shop module and fix bugs