elaborate generalize applic ops