Cleaned up the code a bit, optimized some stuff.