further logic