helpers, user_interface, main, greedy