Working version with very basic demo