change to use adapter method