new objects and a bunch of fixes