Midterm submission, not complete but ok to be reviewed