basic code regarding #3
code reordering