finished all methods