code improuvements