make handling easiery with some ifs