code cleanup, add FIXMEs
implemented -u; use only 2 exit codes (EXIT_FAILURE, EXIT_SUCCESS)