self-join and some styling