note on flip()