easier to read + improvements