Implemented pahse 2