outsource the core commands