@Override
	protected void doStart() throws ServiceException {
		super.doStart();
		this.logger = LoggingService.getInstance(getCore());
		this.timer = TimeService.getInstance(getCore()).getTimer();
		try {
			AL.create();
			AL10.alGetError();
		} catch (LWJGLException e) {
			throw new ServiceException(e);
		}

		// initialize listener
	    AL10.alListener(AL10.AL_POSITION,    listenerPos);
	    AL10.alListener(AL10.AL_VELOCITY,    listenerVel);
	    AL10.alListener(AL10.AL_ORIENTATION, listenerOri);		
	    
		int error = AL10.alGetError();
		if (error != AL10.AL_NO_ERROR) {
			this.logger.logError(LOGGING_SOURCE, "unable to initialize open al listener, error: " + error);
		}		
	}