new way of parsing input