Basic issue with appDaemon

i wanted to get some basic knowledge with appdaemon so thought i would make the most basic of apps to test.
I have the following in my apps.yaml.

hello_world:
  module: hello
  class: HelloWorld

test_app:
  module: testapp
  class: TestApp

and then

import appdaemon.appapi as appapi


class TestApp(appapi.AppDaemon):
    def initialize(self):
        self.listen_event(self.callback, "state_changed", entity_id = "switch.boiler_thermostat_central_heating")

    def callback(self, entity, attribute, old, new, kwargs):
        self.turn_off("light.office_pendant")

in a file called testapp.py

The errors i get are

2023-07-27 17:04:43.477321 WARNING AppDaemon: Unable to find module test_app - initialize() skipped
2023-07-27 17:04:43.476952 WARNING AppDaemon: Unable to find class TestApp in module testapp - 'test_app' is not initialized

am i just being dumb? i dont get what i could be doing wrong here.