Now using subprocess for better pipe handling
add placeholder interface