allow for control over subprocesses
reformatting
add todos