refactor the name of method;move around the methods