updating implementation acording to specs adjustments