fixed dependencies and updated sub-op interface