restructuring Core
simple command line interface