refactoring, no finished

Change-Id: I3d35c6884619a55d450375e7ef280c3922021ef5