wave function collapse implementation