reorganize method order