refs #3. demo + impl