Restructuring
A bit more clean-ups
Refactoring. Test.js was split up to several parts by purposes