alot of work inside the job, moving about methods into lower classes