separate two methods