almost working. many changes
makes errors, but kindof works