everything is almost working