very rough cut with an example