feat normalization and input read fn added