Final implementation