Added basic functionality and a demo version