pactor reorganized to use modules