Final version. Removed unnecessary 'using's, removed excess validation class, added saving by path