Optimized like crazy
added stuff