[fix] don't double resolve and return consistent objects