refact methods