Start factoring out to use gcx gem