initial logic is done