a small modern GUI framework attempt