moar tpyes implemented