buggy but kindof working subtree