add method & minor changes