Implemented Multi-Threading