Final version. Plus Test file.