added classes for binary manipulations