Hopefully fixed a bunch of encapsulation and stuff