wip

This code is still not done. Need to figure out some stuff first.