Almost Complete Implementation!