first step in factoring out shared commonalities