first working object version!