code can't be too much clean