TODO: ADD commandline && programmatic API