added modulus method
final merge