rewrote how hiding and showing parts work
loads of cleaning up and replacing hacky methods