implemented step one