Moved classes and added common interface of binary operation;