I guess having two distinct classes is unavoidable