new file:   behavior.lhs