added basic functionality and demo