My program thoughts (long)