Implemented all initialization methods and a run method.