new build methods, reorganized objects