implemented more of new method scheme