project CRU fully working though likely not robust, D almost working but needs some debugging)