Internal code finished, just need to implement all the effects now