more more more input checking till my eyes bleed