start from the begin and the end