modularize core