Added Comments to implementation