added essential arithmetics