refactored + new demo page coming soon