better for terminal and gui