Implemented phase 1.