reviewed some parts