lots of restructuring and demo