added warning suppression. Added tests. Restructured the dirs.