This is part of a project for a coursera course