added divide and tests