Putting together a comprehensive deep Q-learner