created separate files to make it easier to read and used require_relative method