working demo although cleanup still remains