move to separate class