First version with all operators