I guess having two classes is really really unavoidable