Complete Rewrite (Pre Testing)