updated retuens to return {} as oppose to Object.create(null)