TODO: signal handling, buttons.