added and tweaked crosspost