before change API architechture