some expand shit, and a lot of collview hackery