implemented defsystem using defcomponent.