Everything Works, need to merge arash's work