majorly reduced the code size