Refractored object to use id_t