still ugly, but more functional