refactored further

added a compareVal function so now checkVal is only checking for valid
inputs and compareVal is generating difference and progress for
returnResults