First demo try, some bugs fixed