massive refatoring