Small design changes + Optimizations