those type of threads have already been solved