adds info and backward compatibility tests
adds backward compatibility; better API reflection; reorganized the lib code