more stuff. broken code at the moment.