Finall implementation