finished with intro and implementation