complete rewrite of the code: 100% more objects