Tested and worked on 90%

xD