Re-factor and Demo