reorganize, work out example a bit more