Split out classes into separate files and started with AI based agents