port semifar operators to 2D
minor