created for coursera classproject purpose