This thread basically already exists here.