Final Implementaion