Made requied modifications and additions