refactored: split cli into files per resource