working product with all extra credit tasks done