almost done
everything working
done