changed user_interface package to be more efficient