Reorganized to separate my work from forked rep