Rearranged some files into separate classes to reduce clutter.