Updated implementations