Code refactoring (add autoloader and change files organization)