implemented mul and div. doesnt account for overflow and truncates