Move subs and simplify to base class