almost working fully