implement basic demos