refactor job and company model