will refactor to object