splitting up into smaller files
more breakdown