project: dont run on creation, return object with .run() method