Reorganize operations and add "exec" primitive