Please read the whole thing. Ask questions in the comments!