Reworked some stuff, still not ready to work.