working on demos, still need tests