framework and normalize