included use flowchart this time for realz