restructed and created empty classes