reimplement 2DROP and 2DUP; comment others