added a basic AI factory