added more binary operations