Tasks #23, #24: implemented all operators with support for calling overloads (except overloads listed in the issue #24)