Feeling pretty sleepy right now, hopefully I don't have too many mistake, I'll reupload if I find something majorly wrong.