separated to 2 different functions