add normalization (tested)