Moved functions/Classes to indivdual files and add require