empty result now returns empty dataframe not NULL
minor updates
added fq, better error checking
version bump