first two methods complete
finished