add more checks for improbable cases; rework gui testing app