added new query functionality, plotting functionality, and property-based tests