add subtyping and get real sad