add operations, and exeptions