separate classes and runner