everything working needs comments