1. all instance in column vectors
2. sampling iterations in one big sample() function
3. add intermediate output when sampling