negatives now work
fixed program assertion