Adapted to Maven, 1 file per class
Minor modifications (used cols, restricted scopes)