Refactor demo to add sensible layer