separating the files, implementing OOPs