implement execute, TODO implement compile::save