made code dyer and smaller