re-organize some methods