i think it all works? no extra credit yet