Full Q_Learner class implementation