Basic mode aka backward compatibility added #4 & better data validation