start to separate things out to prepare for other others
more extensive answer