What is a functional bug and how to find it