merged various branches; demo passes