Except for collectData function all others have been implemented

You can happily pull because i have not added the file to the project
as yet..