1 and 2 are done